from typing import Optional,Union
from pydantic import BaseModel
from geojson_pydantic.geometries import (
    LineString,
    MultiLineString,
    MultiPoint,
    MultiPolygon,
    Point,
    Polygon,
    _GeometryBase,
)

from stac_pydantic.shared import BBox
class BaseSearchPostRequest(BaseModel):
 

    collections: list=None
    ids: list=None
    bbox: Optional[BBox]=None,
    intersects: Optional[Union[Polygon, LineString,
    MultiLineString,
    MultiPoint,
    MultiPolygon,
    Point,
    ]]=None
    datetime: str=None
    limit: int = 10
    sortby:list= [
    {
      "field": "string",
      "direction": "asc"
    }
  ]
    filter:dict={}
    filter_crs:str=None
    filter_lang:str="cql2-json"
    page:int=1
